import Vue from 'vue'
import Router from 'vue-router'
import routes from '@/router/routers'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import { setTitle } from '@/libs/util.js'
Vue.use(Router)

const router = new Router({
    routes
})


const whiteList = ['login', '401', '404', '500'] //免登录白名单中
const LOGIN_PAGE_NAME = 'login'

router.beforeEach((to, from, next) => {
    NProgress.configure({ showSpinner: false });
    //开启NProgress进度条
    NProgress.start()
    //设置浏览器标题
    setTitle(to.meta.title)

    const token = ''
    /* if (!token && to.name !== LOGIN_PAGE_NAME) {
        // 未登录且要跳转的页面不是登录页
        next({
            name: LOGIN_PAGE_NAME // 跳转到登录页
        })
    } else if (!token && to.name === LOGIN_PAGE_NAME) {
        // 未登陆且要跳转的页面是登录页
        next() // 跳转
    } else if (token && to.name === LOGIN_PAGE_NAME) {
        // 已登录且要跳转的页面是登录页
        next({
            name: 'home' // 跳转到home页
        })
    } else {

        if (whiteList.indexOf(to.name) !== -1) { //在免登录白名单中，直接进入
            next()
        } else { //验证权限
            // if (hasPagePermission(to.meta.auth)) {
            //     next()
            // } else {
            //     next({ replace: true, name: '401' })
            // }
        }

        // store.dispatch('getUserInfo').then(user => {
        //     // 拉取用户信息，通过用户权限和跳转的页面的name来判断是否有权限访问;access必须是一个数组，如：['super_admin'] ['super_admin', 'admin']
        //     if (canTurnTo(to.name, user.access, routes)) next() // 有权限，可访问
        //     else next({ replace: true, name: 'error_401' }) // 无权限，重定向到401页面
        // })
    } */


    next()
})

router.afterEach(to => {
    NProgress.done() //结束NProgress进度条
})

export default router